home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-12-02 | 3.0 KB | 113 lines | [TEXT/ALFA] |
- page -1 28 +md !
-
- ( Cathedral Demo for Fractal Lab Kit 2.0 )
- ( RTK, 12-02-93 )
-
- ( Warning! This demo clears the shell code! )
-
- ( Press any key to continue... )
-
- 0 28 +md !
- key drop forget shellcode
-
- ( Fractals used... )
-
- : blocks ( -- ) ( load Blocks maps )
- 0. .3 .54 0. .69 .44 .21 1 set
- -.65 0. 0. .41 .66 .57 .26 2 set
- .24 0. 0. -.32 .33 .35 .15 3 set
- .38 0. 0. .41 .6 .02 .19 4 set
- -.28 0. 0. -.523 .3 .53 .19 5 set
- 5 maps ;
-
- : tree ( -- ) ( load Tree maps )
- .03 0. 0. .48 -.005 0. .05 1 set
- .03 0. 0. .48 .01 0. .05 2 set
- .035 0. 0. -.44 .01 .21 .05 3 set
- .035 0. 0. .41 -.007 .02 .05 4 set
- .41 -.41 .41 .41 -.1 .23 .4 5 set
- .41 .41 -.41 .41 .01 .23 .4 6 set
- 6 maps ;
-
- : sierpinski ( -- ) ( load Sierpinski maps )
- .5 0. 0. .5 0. 0. .3333 1 set
- .5 0. 0. .5 .5 0. .3333 2 set
- .5 0. 0. .5 .25 .5 .3333 3 set
- 3 maps ;
-
- : koch ( -- ) ( load maps to generate the Koch curve )
- 0.333 0.0 0.0 0.333 0.0 0.0 0.25 1 set
- 0.167 -0.288 0.288 0.167 0.333 0.0 0.25 2 set
- 0.167 0.288 -0.288 0.167 0.5 0.288 0.25 3 set
- .333 0. 0. .333 .667 0. .25 4 set
- 4 maps ;
-
- : fern ( -- ) ( load Fern maps )
- .81 .07 -0.04 .84 .12 .195 .75 1 set
- .18 -0.25 .27 .23 .12 .02 .115 2 set
- .19 .275 .238 -.14 .16 .12 .115 3 set
- .0235 .087 .045 .1666 .11 0. .02 4 set
- 4 maps ;
-
- ( Definitons )
-
- variable depth
-
- : drawit ( -- ) depth @ idraw ;
- : 1drawit ( -- ) depth @ 1 + idraw ;
- : 2drawit ( -- ) depth @ 2 + idraw ;
-
- : getMouseClick ( -- ) begin ?button until ;
-
- : building
- blocks 3.0 range 178 190 screen 2drawit ( building )
- 280 190 screen 2drawit 381 190 screen 2drawit
- 1. 2. scale 4.5 range 115 193 screen 2drawit
- ;
-
- : tower
- sierpinski 118 55 screen 4.9 range 2drawit ( tower )
- ;
-
- : forest
- tree 1. 1. scale 2. range 200 330 screen 1drawit ( forest )
- 100 280 screen 1drawit 55 330 screen 1drawit 4. range
- 65 100 screen drawit 50 130 screen drawit
- ;
-
- : roof 1. 1. scale
- koch 3. range 180 90 screen drawit ( roof )
- 280 90 screen drawit 382 90 screen drawit
- ;
-
- : path
- 285 187 !pen 317 236 -to 318 272 -to 277 341 -to ( path )
- 305 187 !pen 347 236 -to 349 272 -to 317 341 -to
- ;
-
- : shrubs
- fern 1. 1. scale 10. range 408 261 screen drawit ( shrubs )
- 415 341 screen drawit 420 280 screen drawit
- 450 270 screen drawit 430 310 screen drawit
- 440 300 screen drawit 415 330 screen drawit
- ;
-
- ( Draw the cathedral )
-
- : cathedral ( -- ) ( create the whole thing )
-
- page ." Cathedral - an example of drawing with fractals" cr cr
- ." Enter the drawing depth ( 1=fastest, 10=slowest) ?" input
- dup 11 < if depth ! else drop 1 depth ! then cr cr
- ." When I finish drawing I will wait for you to click the mouse button" cr
- ." before ending." cr
- cr ." Press any key to draw..." key drop
-
- ( draw the parts ) reset off clear
-
- building tower roof forest path shrubs
-
- 0 !FONT 12 !FSIZE 5 15 !pen ." Cathedral" 4 !FONT 9 !FSIZE
-
- getMouseClick cr ; cathedral
-